﻿using UnityEngine;

namespace FrameWork.GamePool
{
    public enum EPoolElementType
    {
        None = 0,
        
    }

    public interface IRecycleAble
    {
        public void OnGet();
        public void OnRecycle();
        public void OnRelease();
    }

    public class TestNode : IRecycleAble
    {
        private TestNode()
        {
            
        }
        
        public static TestNode CreateSelf()
        {
            return new TestNode();
        }

        public void OnGet()
        {
            
        }

        public void OnRecycle()
        {
          
        }

        public void OnRelease()
        {
            
        }
    }

    public interface IPoolElementFactory<T> where T : IRecycleAble
    {
        public T CreateElement();
    }
}